// <a id="link" href="javascript:;"></a>
// 现在 oLink 的类型是 HTMLElement | null 类型
// const oLink = document.getElementById('link')
// 其实我自己更清楚我选择的是 a 标签，但是却不能使用 a 相关的属性了
// oLink.href = 'www.baidu.com' // 报错

// const o = document.querySelector('a')

// 把一个宽泛的类型 HTMLElement 断言为了更加具体的类型 HTMLAnchorElement
// 注意点：不能乱断言（不能在两个毫无关系的类型间断言，一般是包含关系）
const oLink = document.getElementById('link') as HTMLAnchorElement
// const oLink = <HTMLAnchorElement>document.getElementById('link') // 泛型的写法，先知道就行了，不必深究
oLink.href = 'www.baidu.com'

function temp(n: number | string) {
  // 类型断言
  // return (n as number).toFixed(2)
  // 类型收窄
  if (typeof n === 'number') {
    return n.toFixed(2)
  }
}

temp(8)
